home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Cream of the Crop 1
/
Cream of the Crop 1.iso
/
BBS
/
GCHAT140.ARJ
/
GCHAT.DOC
next >
Wrap
Text File
|
1992-02-12
|
17KB
|
367 lines
------------------------------------------------------------------------------
Generic Split Screen Chat Utility 1.40 Wed 12 Feb 92
Copyright 1992 by Chris Patterson, All Rights Reserved
------------------------------------------------------------------------------
GCHAT is my solution to the split-screen chat problem. Every time I get a new
chat program promising to the best program I have ever used, I find notices to
register the program, delays and annoying beeps and whistles. Well, I finally
had enough of the crap and wrote my own.
GCHAT should work with any BBS that has a FOSSIL driver loaded. All of the
options are passed on the command line, making it easy to work with almost any
system out there.
GCHAT has it's own internal ANSI and AVATAR terminal decoding functions. The
entire package is written using my own QwikTools programming library for C
programmers. No other libraries other than the Borland RTL were used. The
QwikTools library will soon be available for all C programmers to use and is
very powerful for creating DOS applications quickly.
GCHAT DOES NOT PAGE THE SYSTEM OPERATOR!!! Do not use GCHAT as a menu exit
which is available to users. The program goes immediately into chat mode
without checking to see if the sysop is around, etc. It was written to be
used with the RA 1.1x external chat command line. If you have an unregistered
RemoteAccess, this option is not available and you need to register to use it.
I may add the ability to page the sysop at a later date, however, I doubt it
since I use the program with RA 1.11+. If enough people ask about it, I may
sit down a write the code to do it.
If you do not have RemoteAccess registered, you can use it with a function
key exit. See the manual on how to setup an Alt-Fn key to run an external
program.
GCHAT includes the following great, easy to use features:
* Full split-screen chat mode with ANSI support
* Regular line oriented chat mode for non-ANSI callers
* Word wrap at the end of text lines in both modes
* The ability to clear the individual chat windows with
a single keystroke (Ctrl-L)
* The user and sysop names can be displayed in the lines
which divide the chat areas in full-screen mode
* User can exit chat when abandoned by the sysop (Ctrl-X)
(removed in 1.30+)
New features for 1.10 include:
* AVATAR/0+ support
* Chat windows scroll line-by-line in AVATAR mode for
smoother conversations
* On-screen clock in full-screen chat modes gives local
time of day
New features for 1.20 include:
* Both SysOp and User screens look identical now, with either
side having their text displayed on the bottom and the session
partner on the top of the screen. This provides a more even
thought pattern, and makes it so that the user does not have
to adjust between being on the top or bottom depending on
whether they are calling or answering.
* The wordwrap code has changed and now all text in the chat
window is maintained internally. There should be no more
problems with straggled characters.
* ANSI mode callers now have scrolling equal to two-thirds of
the chat window for easier reading.
* DESQview aware. If the program is waiting for input,the
program will give away time-slices to the other processes
which are running. I have not tested this code in this
program, however, I tested it in a simpler test program
using QEMM 6.02 and DESQview 2.42 and it worked without
blowing up.
New features in 1.30 include:
* ALT-J Shell To DOS feature for sysop use. Allows sysop to
exit to dos without exiting the chat mode. Full-screen redraw
is performed on return, leaving chat text intact.
* Program will swap to EMS/XMS/Disk when ALT-J is hit, allowing
maximum available memory for DOS usage.
* Screen redraw in case of line noise (Ctrl-R, sysop OR user)
* Pressing ALT-A on sysop or user (via DOORWAY mode) will set
the current emulation mode to ANSI while in chat mode only.
If a user is calling with a non-AVT/0+ compliant program
(such as Qmodem), they can switch it to ANSI for the scroll
functions to work right.
* Pressing ALT-V on sysop or user (via DOORWAY mode) will set
the current emulation mode to AVATAR while in chat mode.
Note that this will only work if AVATAR was originally the
emulation used on startup.
* There were several problems with the ANSI and AVATAR color
routines that were introduced in version 1.20 that have now
been fixed. All of the colors should appear correct in this
new version.
* File logging of chat sessions is now available. This log
style is compatible with that used by RA, FD, GECHO, etc.
The log is appended to if it already exists. The logging
can be toggled on/off by using the ALT-L key. An indicator
is displayed on the sysop side only.
* The sysop can switch between the sysop and user chat window
using the ALT-W combination. This is fun for playing tricks
on users, such as stuffing in bad keys to create spelling
errors, etc. But in the end, it will allow the sysop to edit
the user's chat portion of the screen with the arrow keys so
that while a user and sysop are discussing a piece of code or
something, the sysop does not have to retype, etc. Quoting
is also going to be added I think...
New features for 1.31 include:
* Fixed the bug which occurred if a user had only AVATAR codes
on without ANSI codes. The program now works correctly for
users with only AVATAR (2) turned on.
New features for 1.40 include:
* Help screen to instruct users on which keys are available while
using GCHAT.
* Fixed a display problem with the ANSI/AVT && AVATAR indicators.
* Removed FOSSIL detection and only use the FOSSIL initialization
call to determine if the program can continue, since the detect
routine always dies when using DESQview.
* GChat will use the current baud rate if no baud rate is specified.
This option will work in most cases, however, your application
may be different. (It works with RA 1.1x)
* The program can now read the DORINFO1.DEF file (RBBS-style) which
is created by RemoteAccess before running an external application.
The board name, sysop name, user name, user location, modem port,
and graphics mode are read from this file.
* Support for the RemoteAccess 1.1x EXITINFO.BBS file is added.
GChat can now obtain the user's name, location, and screen length
without command line parameters.
* The program can now read the RA 1.1x configuration files. The
sysop name, board name, etc. can be read from the RA configuration
files.
* GChat can now be used with any length screen display. If the user
has specified a screen length longer than the local screen can
support, the length will be limited to that of the local screen.
* If GChat is brought up with a com port of 0 or a baud rate of 0,
it will startup in LOCAL mode without making any calls to the
FOSSIL driver. So now you can chat to yourself while logged in
using local mode.
* Digraph compression. Digraphs are two characters which have a
single sound. In the upper-128 bytes of the IBM character set,
all of the foriegn language characters can be constructed using
digraphs. By pressing the <Ctrl-D> key after entering a two-
character digraph, if there is a foriegn language symbol for that
combination, it will be replaced automatically. See below for a
table consisting of all of the digraph combinations supported.
* The sysop can disconnect the user by pressing Alt-H. Note that
this will only work if the sysops modem is setup to hangup the
modem when the DTR is lowered.
To run GCHAT, use the following options:
B<baud rate>
Baud Rate - The speed in which the connection is
currently established. If you are using a locked
baud rate, use the locked baud rate here. Otherwise,
use the *B macro (RA, QBBS) to pass the baud rate
P<com port>
Com Port - The com port to use. Can be passed using
the *P macro from RA or QBBS (others?).
A<0|1|2|3>
ANSI Graphics Mode - the mode in which the program
should operation. The *G macro (RA,QBBS) includes
this information. Supported modes are:
0=text
1=ANSI
2=AVATAR
3=ANSI & AVATAR (uses AVATAR codes)
"N<full user name>"
The name of the user who is logged on the BBS. This
can be done with "N*F *L" in RA,QBBS to include the
first and last name of the user on the screen bars.
"S<sysop name>"
The name of the system operator. This is usually just
hard coded on the command line.
L<filename.ext>
Log file name. If specified, the log file will be opened
for append and the chat session will be logged, including
a starting and ending time stamp.
R<lines>
Set the numbers of rows on the chat screen. The default
is 23. If the number of lines exceeds the capabilities
of the local display, the chat screen length will be
confined to the local screen length.
D
Read configuration from DORINFO1.DEF file if it exists.
E
Extract configuration from the RemoteAccess 1.1x files
such as CONFIG.RA and EXITINFO.BBS, etc. By using the
E parameter, GChat will obtain as much information as
possible from the existing RemoteAccess configuration.
This option will read the users page length and adjust
the screen chat length accordingly.
That pretty much sums it up. A few examples:
RemoteAccess 1.1x, configured as the external chat utility in
RACONFIG->Options->Paging->External:
GCHAT.EXE P*P B*B A*G "N*F *L" "SChris Patterson"
Or for a locked baud rate:
GCHAT.EXE P*P B38400 A*G "N*F *L" "SChris Patterson"
Or to allow the program to use the current baud settings:
GCHAT.EXE P*P A*G "N*F *L" "SSysop Name"
Or the simplest approach, uses DORINFO1.DEF and EXITINFO.BBS:
GCHAT.EXE D E
------------------------------------------------------------------------------
Digraph Table
------------------------------------------------------------------------------
The digraphs shown below are created by entering the two chars shown and
pressing <Ctrl-D>. The two chars are replaced with the single foreign
language character.
Chars Result Chars Result Chars Result
u" ü e' é a^ â
a" ä a` à ao å
e^ ê e" ë e` è
i" ï i^ î i` ì
A" Ä Ao Å E' É
AE Æ o^ ô o" ö
o` ò u^ û u` ù
y" ÿ O" Ö U" Ü
Pt ₧ a' á i' í
o' ó u' ú n~ ñ
N~ Ñ C, Ç c, ç
o/ φ << « >> »
!! ¡ ?? ¿ 12 ½
14 ¼ a- ª o- º
Y= ¥ 96 æ C| ¢
L- £ f- ƒ =- ≡
+- ± >= ≥ <= ≤
:- ÷ ~~ ≈
------------------------------------------------------------------------------
GCHAT is a free program. I don't care what you use it for, as long as you
do NOT try to sell it as your own. I retain all rights to the program and
it's source code. No FEE's may be charged for it's distribution either.
Either allow people to access it for free, or don't have it online. Simple.
GCHAT is provided as-is. No warranties are expressed or implied. If it
does not work for you, that's tough. I didn't write it for you. I wrote
it for myself, and am allowing everyone who wishes to use it, that chance.
I do not guarantee that GCHAT is for you.
------------------------------------------------------------------------------
How to reach the author
------------------------------------------------------------------------------
Chris Patterson, SysOp
The Developers Network
1-918-251-6252 v.32bis/HST supported
24 hours daily
Broken Arrow, Oklahoma USA
1:170/301@fidonet (CM,XA)
------------------------------------------------------------------------------
Please send any program suggestions or bug reports via NetMAIL to the above
address. If you do not have access to NetMAIL, then logon as a user and
leave a comment to the sysop.
------------------------------------------------------------------------------
******************************************************************************
If you are a shareware author, and you use this program, please consider
sending registered versions of your software to the author of this program
as a gesture of good faith. Thank you.
------------------------------------------------------------------------------
HISTORY:
23 Jan 92 - 1.00
----------------
Initial program release.
27 Jan 92 - 1.10
----------------
Added AVATAR, clock and fixed a few small bugs
27 Jan 92 - 1.20
----------------
Rewrote the entire program from scratch, using a new method.
03 Feb 92 - 1.30
----------------
Drop To DOS Added (wEMS/XMS/DISK swapping), fixed many ANSI
bugs, some AVATAR bugs, added limited DOORWAY support, file
logging.
05 Feb 92 - 1.31
----------------
Fixed the bug with the AVATAR only *G macro (2).
06 Feb 92 - 1.40.01b
--------------------
Fixed the ansi mode display bug, added help screen, cleaned
up some FOSSIL check code, removed FORCE option, made init
call the check.
10 Feb 92 - 1.40.02b
--------------------
Added support for reading DORINFO1.DEF and EXITINFO.BBS by new
parameters on the command line.
11 Feb 92 - 1.40.03b
--------------------
Added digraph support, more help screen features, few fixes
with the program here and there.
11 Feb 92 - 1.40.04b
--------------------
Added Alt-H to hangup. Added new QT.LIB for more ANSI/AVT
support (internal). More digraphs added.
12 Feb 92 - 1.40
----------------
Release version with above changes.
------------------------------------------------------------------------------